                                             
IBIS Macromodel Task Group

Meeting date: 26 Jul 2011

Members (asterisk for those attending):
Agilent:                    * Fangyi Rao
                            * Radek Biernacki
Altera:                     * David Banas
Ansys:                        Samuel Mertens
                            * Dan Dvorscak
                            * Curtis Clark
Arrow Electronics:            Ian Dodd
Cadence Design Systems:       Terry Jernberg
                            * Ambrish Varma
Celsionix:                    Kellee Crisafulli
Cisco Systems:              * Mike LaBonte
                              Ashwin Vasudevan
                              Syed Huq
Ericsson:                     Anders Ekholm
IBM:                          Greg Edlund
Intel:                        Michael Mirmak
LSI Logic:                    Wenyi Jin
Mentor Graphics:            * John Angulo
                              Zhen Mu
                            * Arpad Muranyi
Micron Technology:            Randy Wolff
NetLogic Microsystems:        Ryan Couts
Nokia-Siemens Networks:     * Eckhard Lenski
Sigrity:                      Brad Brim
                              Kumar Keshavan
                            * Ken Willis
SiSoft:                     * Walter Katz
                              Todd Westerhoff
                              Doug Burns
Snowbush IP:                  Marcus Van Ierssel
ST Micro:                     Syed Sadeghi
Teraspeed Consulting Group:   Scott McMorrow
                            * Bob Ross
TI:                           Casey Morrison
                              Alfred Chong
Vitesse Semiconductor:        Eric Sweetman
Xilinx:                       Mustansir Fanaswalla

The meeting was lead by Arpad Muranyi

------------------------------------------------------------------------
Opens:

- None

--------------------------
Call for patent disclosure:

- None

-------------
Review of ARs:

- Arpad email MM to reschedule BIRD
  - Done

- Ken send Backchannel slides for posting
  - Done

-------------
New Discussion:

BIRD 127 empty string discussion:
- Arpad: Would like to discuss Radek's suggestion
  - NULL pointer instead of empty strings
- Radek: Items 5 & 6 are different
  - 5 is between executables
  - 6 is about the string in or out
  - It would be better not to have multiple solutions
- Arpad: We should decide on the rules for AMI_parameters_in/out
- Fangyi: Using empty strings doesn't make much difference
  - We could not allow it
- Arpad: To clarify, a parameter is just part of the whole string passed
  - It has a pair of double quotes if empty
  - The confusion is about the whole tree string
  - We can't define empty string as double quotes for that
- Fangyi: The tree string should have double quotes
- Radek: It should not
- Walter: It has quotes in C code but not in memory
- John: The AMI file does not need quotes around the whole tree either
- Radek: We should say that it is not necessary
- Ambrish: So an empty string is a pointer to a null character
- Walter: There are Strings, which are parameter values in AMI
  - Then there are C strings which reside in memory
  - We could call those the DLL argument string
- Arpad: We can agree the DLL arg string is not surrounded by quotes
  - What is the definition of empty DLL argument string
- Radek: That is in the context of the DLL to EXE arg passing
  - It should be a NULL byte
- Curtis: The 5.0 spec did not define this
  - DLLs might think they have to return something
  - The EDA tool should be more careful so models can be "dumb"
  - The spec should be tightened up
- Arpad: We need to distinguish between NULL pointers and empty strings
  - An empty string is a valid pointer to a NULL byte
  - Empty strings are allowed in Init and GetWave
- Ambrish: The EDA tool should return a parameter tree with the root name
- Arpad: We did not want to require the root to match the file name
- Arpad: How will the DLL know what to put in the root name?
- Ambrish: It can take it from the AMI file
- Arpad: This will require version control
  - The rules would be new
- Curtis: Bob has said the rules only grow
  - We should be able to deprecate
- Arpad: It takes time to remove features through deprecation
  - Using versions doesn't imply deprecation or removal either
- Walter: Versions should be used sparingly
- Mike: Can we have only the EDA tools change?
  - They should be able to compensate so models don't have to change
- Walter: We can tighten up how EDA calls DLL
  - The return can be more flexible
- Curtis: Existing models that expect a non-Null pointer may have problems
- Fangyi: 
- Arpad: It is always required in the current spec
- Radek; We have poor descriptions of what is and is not required
- Walter: In 5.1 we can guarantee non-NULL pointers with root names
  - No model will reject that
- Ambrish: That would be a clear definition
- Arpad: We should require the same from the model
- Fangyi: Model developers may not be disciplined
- Walter: NULL pointer or NULL string or empty tree
- Arpad: It should be (root) ?
- Ambrish: Yes
- Fangyi: Any non-empty return from the model must have a root name
- Walter: There may be 2 trees, the 2nd for a backchannel
- Curtis: The current spec doesn't require this
  - Some models may not return root names
- Arpad: We can discuss by email
- Radek: Is it clear how this affects Reserved parameters?
- Arpad: A BIRD explains that

Item 7 BIRD 127.1
- Arpad: The previous discussion affects this
  - I will have to reword this
- Ambrish: BIRD 137 may make this a non-issue
- Arpad: Only for part of BIRD 127

AR: Arpad rework BIRD 127 to accommodate NULL pointer conventions

Updates Backchannel BIRD
- Ken: I made updates and sent to other authors
- Sent to Mike for posting
- Changed Model_Specific to Protocol_Specific
- Arpad: Any change since last week?
- Ken: No
- Walter: We need a mechanism for EDA tool or RX to terminate training
  - Bit pattern formats need work
  - This is not a 802.3kr spec
  - It is a Snowbush interpretation
  - We should call it 802.3kr_1
- Fangyi: Also add crosstalk and statistical
- Walter: Nothing prohibits crosstalk
- Fangyi: There must be a control to not receive crosstalk
  - What will happen when one is in training mode and the other isn't?
- Walter: Data will appear on crosstalk channels
  - It is compatible with statistical analysis
- Fangyi: How does RX pass tap coefficients back to TX
- Walter: There will be a backchannel tree after the 1st tree
  - TX_Init goes to RX_Init
  - RX_Init goes to TX_GetWave
- Fangyi: So TX_Init is called multiple times
- Walter: Snowbush did not implement it
  - It could be added to the BIRD
- Fangyi: The BIRD could describe how to do statistical
- Ken: Once training is done tap coefficients are set
  - That could be in time or statistical domain
- Fangyi: Need to pass modified impulse response in 2nd Init call after
  training
- Walter: GetWave can record the new coefficients
  - It knows what the original coefficients and response were
  - An alternative is open a 2nd TX with new Init call
- Fangyi: Training info may be lost when Close is called
- Walter: The current proposal does not support statistical training by
  design.
  - If anyone wants statistical to support simultaneous optimization of
    Tx and Rx they should submit a separate new BIRD.

AR: Ken update backchannel slides and send to Mike for posting

Meeting ended.

-------------
Next meeting: 26 July 2011 12:00pm PT

Next agenda:
1) Task list item discussions

-------------
IBIS Interconnect SPICE Wish List:

1) Simulator directives
